Архитектура параллелизма в Эликсире выходит за рамки простого создания процессов; для достижения требуемого уровня надежности требуется строгая методология надежность 99,9999999% (девять девяток). Это соответствует примерно 1 секунда простоев каждые 30 лет. Чтобы достичь такого уровня, мы используем Пятивопросную методологию.
Структурный подход
Перед написанием первой строки кода в рамках OTP используйте эти вопросы для разложения состоятельных задач на управляемые элементы:
- Окружение и ограничения: Это одиночный узел? Глобальная кластеризация? Какие ограничения по памяти и вводу-выводу?
- Фокусные точки: Где хранится данные? Кто «владеет» состоянием (например, реестром результатов)?
- Характеристики выполнения: Сколько одновременных запросов? Они зависят от процессора или от ввода-вывода?
- Защита: Какое состояние должно сохраняться? Что мы можем позволить потерять и перезапустить?
- Инициализация: Как мы инициализируем дерево? Какие службы зависят от других?
Рассматривая эти вопросы как ограничения, вы предотвращаете возникновение хаоса параллелизма, при котором каждый процесс взаимодействует со всеми остальными без четкой иерархии.
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>